#!/bin/bash

# 获取主机基本信息
host=$(hostname)
kernel=$(uname -r)
uptime=$(uptime -p)

# 检查CPU使用情况
cpu=$(top -bn1 | grep "Cpu(s)")

# 检查内存使用情况
memory=$(free -h)

# 检查磁盘空间
disk_space=$(df -h)

# 检查IO负载
io=$(iostat -x)

# 检查网络流量
network=$(sar -n DEV 1 3)

# 检查应用状态
app_status=$(systemctl list-units --type=service --state=running)

# 检查存活端口
alive_ports=$(netstat -tuln | grep "LISTEN")

# 检查防火墙策略
firewall=$(iptables -nvL)

# 检查主机重启时间
last_reboot=$(who -b)

# 检查登录连接数
login_users=$(who)

# 检查应用数量
app_count=$(systemctl list-units --type=service | wc -l)

# 打印主机基本信息
echo "主机名: $host"
echo "内核版本: $kernel"
echo "运行时间: $uptime"
echo "------------------------------------"

# 打印CPU使用情况
echo "CPU使用情况:"
echo "$cpu"
echo "------------------------------------"

# 打印内存使用情况
echo "内存使用情况:"
echo "$memory"
echo "------------------------------------"

# 打印磁盘空间信息
echo "磁盘空间:"
echo "$disk_space"
echo "------------------------------------"

# 打印IO负载信息
echo "IO负载:"
echo "$io"
echo "------------------------------------"

# 打印网络流量信息
echo "网络流量:"
echo "$network"
echo "------------------------------------"

# 打印应用状态信息
echo "应用状态:"
echo "$app_status"
echo "------------------------------------"

# 打印存活端口信息
echo "存活端口:"
echo "$alive_ports"
echo "------------------------------------"

# 打印防火墙策略信息
echo "防火墙策略:"
echo "$firewall"
echo "------------------------------------"

# 打印主机重启时间
echo "主机重启时间:"
echo "$last_reboot"
echo "------------------------------------"

# 打印登录连接数
echo "登录连接数:"
echo "$login_users"
echo "------------------------------------"

# 打印应用数量
echo "应用数量:"
echo "$app_count"
echo "------------------------------------"
